package ufro.pdssoaws;



import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;


public class AnotacionesSOAWS {
	
	private static String METHOD_NAME ;
	private static String NAMESPACE ;
	private static String URL;
	/*
	 *
	 */
	public void coneccionwsPropio(){
		NAMESPACE = "http://ws";
		METHOD_NAME = "add";
		URL = "http://192.168.1.2:8080/ProyectoAnotacionesFinal/services/AnotacionSOA?wsdl";

	}
	/**
	 * 
	 * @param fecha String
	 * @param descripcion String
	 * @param id_tipo_anotacion int
	 * @param rut_anotador String
	 * @param rut_alumno String
	 * @return json
	 */
	
	public String add( String fecha, String descripcion,int id_tipo_anotacion, String rut_anotador, String rut_alumno) {
		coneccionwsPropio();
		METHOD_NAME = "add";
		String SOAP_ACTION = NAMESPACE + METHOD_NAME;
		SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

		PropertyInfo addfecha = new PropertyInfo();
		PropertyInfo adddescrip = new PropertyInfo();
		PropertyInfo addid_tipo_anotacion = new PropertyInfo();
		PropertyInfo addrut_anotador = new PropertyInfo();
		PropertyInfo addrut_alumno = new PropertyInfo();
		

		addfecha.setName("fecha");
		addfecha.setValue(fecha);
		addfecha.setType(String.class);

		request.addProperty(addfecha);
		
		adddescrip.setName("descripcion");
		adddescrip.setValue(descripcion);
		adddescrip.setType(String.class);

		request.addProperty(adddescrip);
		
		
		addid_tipo_anotacion.setName("tipoAnotacion");
		addid_tipo_anotacion.setValue(id_tipo_anotacion);
		addid_tipo_anotacion.setType(int.class);

		request.addProperty(addid_tipo_anotacion);
		
		
		addrut_anotador.setName("rutAnotador");
		addrut_anotador.setValue(rut_anotador);
		addrut_anotador.setType(String.class);

		request.addProperty(addrut_anotador);
		
		addrut_alumno.setName("rutAlumno");
		addrut_alumno.setValue(rut_alumno);
		addrut_alumno.setType(String.class);

		request.addProperty(addrut_alumno);
		

		SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
		soapEnvelope.dotNet = true;
		soapEnvelope.implicitTypes =true;
		soapEnvelope.setOutputSoapObject(request);
		AndroidHttpTransport aht = new AndroidHttpTransport(URL);
		String datosJsonString;
		try
		{
			aht.call(SOAP_ACTION, soapEnvelope);
			SoapPrimitive resultString = (SoapPrimitive)soapEnvelope.getResponse();
			datosJsonString =resultString.toString();
			return datosJsonString;
		}
		catch (Exception e)
		{
			e.printStackTrace();
			// en caso de no tener acceso al web service
			datosJsonString = "Error ";}
		return datosJsonString;
	}
	/**
	 * 
	 * @return json
	 */
	public String verAnotaciones(){
		coneccionwsPropio();
		METHOD_NAME = "verAnotaciones";
		String SOAP_ACTION = NAMESPACE + METHOD_NAME;
		SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
		
	
		SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
		soapEnvelope.dotNet = true;
		soapEnvelope.implicitTypes =true;
		soapEnvelope.setOutputSoapObject(request);
		AndroidHttpTransport aht = new AndroidHttpTransport(URL);
		String datosJsonString;
		try
		{
			aht.call(SOAP_ACTION, soapEnvelope);
			SoapPrimitive resultString = (SoapPrimitive)soapEnvelope.getResponse();
			datosJsonString =resultString.toString();
			return datosJsonString;
		}
		catch (Exception e)
		{
			e.printStackTrace();
			// en caso de no tener acceso al web service
			datosJsonString = "Error Conexion";}
		return datosJsonString;
	}
}
